Release notes for WebAPI 3.3.0.1587

Bug fixes

  • Facet results for ISOdate fields were not displaying the correct value. Fixed in 3.3.0.1562.
  • On the WebAPI login command the mapping of the authenticationConfiguration was no longer working. Fixed in 3.3.0.1554.
  • A WebApi login using the password type field did not work with an unencrypted password. Fixed in 3.2.1.1549.
  • Because of data type validations, data failing a numeric data type validation, gave an internal server error and the record was not displayed to the user. For now, the numeric type validation has been disabled in version 3.2.1.1521.
  • The getcontent command could not extract EXIF and IPTC metadata from a JPEG file. This was solved in 3.2.1.1506 by having the cached thumbnail images (which, for later image retrieval, the WebAPI creates automatically if they don't exist yet) stored in their original file format from now on, instead of the previously used .bmp format, because .bmp files cannot store EXIF and IPTC metadata. This way, most of the original metadata can be preserved.
  • Several renditions could not be retrieved via the Piction plugin and no error information was included in the result XML. From 3.2.1.1420, the error information is included in the diagnostics section of the output XML. Also, a new DefaultType is now available for plugin configuration (underneath the ImagePlugin node): the DefaultType can be used to set the default media type (e.g. jpg) returned from Piction. This is used when there’s no Content-type or Content-disposition in the response header.
  • In an indexed link configuration, updating the part_of_reference field in a record led to removal of the parent record. Solved in 3.2.1.1493.
  • The getpointerfile command resulted in a SqlNullValueException when the pointerfiles_hitlist table had a "metadata" XML column (as was the case in old Adlib applications). Fixed in 3.2.1.1440.
  • Multilingual context fields could not resolve data correctly. From version 3.2.1.1405, a multilingual context field will be resolved for all languages. Example output:
    <Object_name>
      <object_name>
        <value lang="da-DK" invariant="true">Clairobscurtræsnit</value>
        <value lang="en-US" invariant="false">Chiaroscuro woodcut</value>
      </object_name>
      <object_name.code>co9027483890</object_name.code>
      <object_name.context>
        <value lang="da-DK" invariant="false">
        Arbejde på papir/Arbejde på papir/Grafisk Kunst. Fotografi.Reprografi/Højtryk/Clairobscurtræsnit
        </value>
        <value lang="en-US" invariant="false">
        Works on paper/Works on paper/Graphic art. Photography.Reproductions/Anticyclone/Chiaroscuro woodcut
        </value>
      </object_name.context>
    </Object_name>
    
  • OAI.ashx did not retrieve the last record from a set that is 1 larger than n times the default limit of 10 (so 11, 21, 31, etc.). Fixed in version 3.2.1.1359.

New functionality

New default data language parameter for insertrecord and updaterecord commands

From WebAPI version 3.2.1.1385, a new default data language parameter is available for the insertrecord and updaterecord commands (as well as for the deprecated writerecord command), to allow the client or user to POST monolingual record XML while specifying the default data language for any multilingual target fields once through the URL. This has the advantage that a lang attribute no longer needs to be added to fields in monolingual XML source data that is targeted for a multilingual field. So the client no longer needs to be to be aware of any multilingual fields in the target database and may POST its monolingual source data without lang attributes: the WebAPI will use the new language parameter (with an ISO 639-1-ISO 3166-1 language code like nl-NL or en-GB for example) to determine which lang attribute must be added automatically to any monolingual value when it is written to a multilingual field. Of course, if you're sure there exists no multilingual target fields, then you don't need to use the new parameter.
Partial example URL:

...wwwopac.ashx?command=insertrecord&database=fullCatalogue&language=nl-NL
(If you were to leave out the lang attribute in the XML body AND you do not provide the language parameter while writing the data to multilingual fields, an error will be reported as before in the XML diagnostic section.)

Version 2 of the Piction image plugin

From WebAPI version 3.2.1.1377, a version 2 of this image plugin has been made available. This contains the earlier implementation, as described here, plus a new implementation to support persistent links. To specify that your image server configuration addresses version 2 (instead of the default version 1), include the <Version>V2</Version>setting underneath the <ImagePlugin> node. Contrary to the version 1 implementation, you can specify only one rendition per image server configuration (or none at all, to get the default version from Piction). To compensate for this limitation, you may include an optional rendition=<value> parameter in the URL calling the image server. The parameter will take precendence over the rendition setting in the configuration. If you don’t include the rendition parameter in the request, it will take the value as set in the image server configuration.

The values for the V2 renditions can be one of the values listed below:
THUMBNAIL = thumbnail - this is always an image
T = thumbnail - this is always an image
T1 = thumbnail - this is always an image
THUMB = thumbnail - this is always an image
WEB = web quality derivative - this is always an image
W = web quality derivative - this is always an image
W1 = web quality derivative - this is always an image
Onn = original (nn = n-th version, like O3 for the third version)
MSOFFICE = Jpeg derivative - this is always an image
HIGHRESJPG = Jpeg derivative - this is always an image
ORIGINAL = original 1

Document download is supported too, by requesting an original document.